4063
10248
Zavřeno. Tato otázka nesplňuje pokyny pro přetečení zásobníku. Momentálně nepřijímá odpovědi.
Chcete tuto otázku vylepšit? Aktualizujte otázku tak, aby byla zaměřena na Stack Overflow.
Uzavřeno před 4 lety.
Vylepšete tuto otázku
Stavím Shiny aplikaci, která zpracovává více textových souborů vybraných uživatelem.
Výstupem je obrovský datový rámec s miliony řádků a desítkami sloupců.
Mám nyní zájem umožnit uživateli interaktivně filtrovat řádky, vybírat sloupce a sumarizovat sloupce (výběrem ze seznamu funkcí, jako je průměr, sd, max, min, součet atd ...). Výsledkem by byl menší datový rámec, který by shrnul výběry dat na uživatele - v zásadě musím vytvořit GUI, které implementuje základní funkčnost knihovny dplyr.
Obecně vím, jak to udělat tak, že ručně vytvořím spoustu prvků grafického uživatelského rozhraní a přidám je do funkce serveru pomocí řady příkazů dplyr. Vzhledem k tomu, že se to jeví jako docela standardní funkce (grafické uživatelské rozhraní, které filtruje a shrnuje datový rámec), než začnu stavět úplně od začátku, zajímalo by mě, jestli existuje něco „z police“, mohu použít buď JAK JE, nebo jako výchozí bod . 
Vím, že jste řekl, že rpivotTable nebylo přesně to, po čem toužíte, ale myslím, že to může být nakonfigurováno tak, aby provádělo některé těžké zvedání,
Zde je příklad (pomocí rpivotTable pro manipulaci, DT k zobrazení dat. Rám, rvest k analýze innerHTML z DOM, může existovat lepší datový formát pro předání objektu tabulky ze strany klienta, ale toto je důkaz koncepce ):
ui.R
knihovna (lesklá)
knihovna (DT)
knihovna (rpivotTable)
FullPage <- fluidPage (
DT :: dataTableOutput ('aSummaryTable'),
rpivotTableOutput ('VÝSLEDKY')
)
Celá stránka
server.R:
knihovna (lesklá)
knihovna (rpivotTable)
knihovna (DT)
knihovna (rvest)
funkce (vstup, výstup, relace) {
# Vytvořte ukázková data
qbdata <- reaktivní ({
expand.grid (PÍSMENA, 1: 3)
})
# Vyčistěte html a uložte jako reaktivní
summarydf <- eventReactive (vstup $ myData, {
zadejte $ myData%>%
read_html%>%
html_table (fill = TRUE)%>%
# Ukázalo se, že v tabulce rpivotTable jsou dvě tabulky, chceme druhou
. [[2]]
})
# show df jako DT :: datatable
výstup $ aSummaryTable <- DT :: renderDataTable ({
datatable (summarydf (), názvy řádků = FALSE)
})
# Kdykoli se obnoví konfigurace, zavolejte zpět s obsahem tabulky
výstup $ VÝSLEDKY <- renderRpivotTable ({
rpivotTable (
qbdata (),
onRefresh =
htmlwidgets :: JS ("funkce (konfigurace) {
Shiny.onInputChange ('myData', document.getElementById ('RESULTS'). InnerHTML);
} ")
)
})
}
|
Toto není odpověď, kterou hledáte? Přečtěte si další otázky týkající se značek r dplyr shiny